section .bss
v0 resb 1 ;resw resd resq rest
v1 times 100 resw 1

section .data
v100: times 64 db 0x11
v101 dq 0x1234567811223344
v102 dq 0x1122334455667788 | 0xffff
%define _t %!PATH
;%define qo ''
;path db qo _t qo,0xa
%define qs(x) '  x,0xa

%macro quote 1
	"a"
%endmacro

path db qs(_t)
;path db quote(_t)
path_len equ $-path

%define a(x) 1+b(x)
%define b(x) x*2
%strlen str_len "hello world"

%macro foo 2
	push rax
	push rbx
	mov rax,%1
	mov rbx,%2
	pop rbx
	pop rax
%endmacro

%macro save 1-*
	%rep %0
		push %1
		%rotate 1
	%endrep

	nop
	add rax,rax

	%rotate -1
	%rep %0
		pop %1
		%rotate -1
	%endrep
%endmacro

val equ 11
%assign val val+1

;%error __NASM_VER__

section .text
global _start
_start:
	;foo qword 0x11,qword 0x22
	;save rax,rbx,rdx,rdi
	;%if val
		;xor rax,rax
	;%endif
	;mov rax,a(11)
	;mov rcx,str_len
	;mov rdx,v101
	;mov rdx,[v101]
	;mov [rax*2],rdx
	;mov [nosplit rax*2],rdx

	mov rax,1
	mov rdi,1
	mov rsi,path
	mov rdx,path_len
	syscall

	mov eax,9
	mov rdi,0
	mov rsi,10
	mov rdx,3
	mov r10,33
	mov r8,-1
	mov r9,0
	syscall

	mov rax,60
	mov rdi,11
	syscall
	msg: db "Hello World!",0xa
	len: equ $-msg
	size: dd 100000000